package com.lino.design.application;

import java.util.concurrent.TimeUnit;

/**
 * @description: 缓存服务接口
 * @author: lingjian
 * @createDate: 2022/12/16 14:26
 */
public interface CacheService {

    /**
     * 根据键获取值
     *
     * @param key 键
     * @return值
     */
    String get(final String key);

    /**
     * 设置缓存
     *
     * @param key   键
     * @param value 值
     */
    void set(String key, String value);

    /**
     * 设置缓存
     *
     * @param key     键
     * @param value   值
     * @param timeout 超时时间
     * @param unit    时间单位
     */
    void set(String key, String value, long timeout, TimeUnit unit);

    /**
     * 删除缓存
     *
     * @param key 键
     */
    void del(String key);
}
